/**
 *  @file configManager.h
 *
 *  @date 24-dec-2009
 *  @author Ives van der Flaas
 */

#ifndef CONFIGMANAGER_H_
#define CONFIGMANAGER_H_

namespace si
{
/**
 * Singelton class that load settings from disk, hands
 * them out to everyone requesting them and saves
 * to file when needed
 */
class ConfigManager
{
public:
	static ConfigManager& get()
	{
		static ConfigManager conf;
		return conf;
	}

	bool isMuted() const { return fMuted; }

	/**
	 * Sets mute or do not mute setting.
	 * @param muteStatus true if we want to mute, false if unmute
	 */
	void setMute(bool muteStatus) { fMuted = muteStatus; }
private:

	void save();
	void load();

	ConfigManager();
	virtual ~ConfigManager();

	//settings
	bool fMuted;
};

}

#endif /* CONFIGMANAGER_H_ */
